1.1. Field of the Invention
The present invention relates to computer network architectures, and, more specifically, to software for managing computer and communications networks. More particularly, the present invention provides software, systems, and apparatus for managing software entities and hardware over a computer network. The present invention has applications in the areas of computer science, computer network management, and computer software.
1.2. The Related Art
The demands on computer network managers have grown exponentially as the size and extensiveness of computer networks has grown over the past decade. Starting from the relatively simple task of maintaining communication among a relatively small number of mainframe computers, network managers must now coordinate operations among thousands of computers, printers, servers, and other networked devices. With the advent of the Java.RTM. and Jini.TM. programming languages, even household devices will soon become linked over computer networks running on household "intranets" that in turn are linked to the worldwide Internet. Thus, there appears to be no end in sight to the increasing burden on network managers.
To control and coordinate the software associated with the myriad of networked computers and other devices, network managers employ software designed to track, establish communications with, and control various software entities or processes that exist independently or represent the networked devices. Entities that represent networked devices are also referred to herein as "agents". The software used by the network manager interacts with various "platform-level" software services to enable the network manager to locate and interact with the various entities running on the network. Various services are provided to identify the entities, retrieve needed data about the properties and states of the entities, and store that information for use by other entities and user applications. In particular, a topology service is used to provide a logical representation of the devices on the network. The representations can be acted upon by the applications.
The number of entities being processed by the network management software can be great for large computer networks. Managing such a large number of entities can slow system performance dramatically. Also, many systems rely on the same central software service to process both communications connection and manage entity data. This reliance on a single service to process such diverse yet vital tasks creates a risk of catastrophic network failure if the central software service fails. Such risks and decreased performance are not acceptable for large-scale networks that must be available twenty-four hours a day, seven days a week.
Therefore, it would be beneficial to provide a topology service for a computer network management architecture that can process large numbers of devices and that continues to operate even if a central piece of the network management software fails. The present invention meets these and other needs.